//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(undefined % undefined);
write(undefined % null);
write(undefined % true);
write(undefined % false);
write(undefined % Boolean(true));
write(undefined % Boolean(false));
write(undefined % new Boolean(true));
write(undefined % new Boolean(false));
write(undefined % NaN);
write(undefined % +0);
write(undefined % -0);
write(undefined % 0);
write(undefined % 0.0);
write(undefined % -0.0);
write(undefined % +0.0);
write(undefined % 1);
write(undefined % 10);
write(undefined % 10.0);
write(undefined % 10.1);
write(undefined % -1);
write(undefined % -10);
write(undefined % -10.0);
write(undefined % -10.1);
write(undefined % Number.MAX_VALUE);
write(undefined % Number.MIN_VALUE);
write(undefined % Number.NaN);
write(undefined % Number.POSITIVE_INFINITY);
write(undefined % Number.NEGATIVE_INFINITY);
write(undefined % new Number(NaN));
write(undefined % new Number(+0));
write(undefined % new Number(-0));
write(undefined % new Number(0));
write(undefined % new Number(0.0));
write(undefined % new Number(-0.0));
write(undefined % new Number(+0.0));
write(undefined % new Number(1));
write(undefined % new Number(10));
write(undefined % new Number(10.0));
write(undefined % new Number(10.1));
write(undefined % new Number(-1));
write(undefined % new Number(-10));
write(undefined % new Number(-10.0));
write(undefined % new Number(-10.1));
write(undefined % new Number(Number.MAX_VALUE));
write(undefined % new Number(Number.MIN_VALUE));
write(undefined % new Number(Number.NaN));
write(undefined % new Number(Number.POSITIVE_INFINITY));
write(undefined % new Number(Number.NEGATIVE_INFINITY));
write(undefined % '');
write(undefined % 0xa);
write(undefined % 04);
write(undefined % 'hello');
write(undefined % 'hel' + 'lo');
write(undefined % String(''));
write(undefined % String('hello'));
write(undefined % String('h' + 'ello'));
write(undefined % new String(''));
write(undefined % new String('hello'));
write(undefined % new String('he' + 'llo'));
write(undefined % new Object());
write(undefined % new Object());
write(undefined % [1, 2, 3]);
write(undefined % [1 ,2 , 3]);
write(undefined % new Array(3));
write(undefined % Array(3));
write(undefined % new Array(1 ,2 ,3));
write(undefined % Array(1));
write(undefined % foo);
write(null % undefined);
write(null % null);
write(null % true);
write(null % false);
write(null % Boolean(true));
write(null % Boolean(false));
write(null % new Boolean(true));
write(null % new Boolean(false));
write(null % NaN);
write(null % +0);
write(null % -0);
write(null % 0);
write(null % 0.0);
write(null % -0.0);
write(null % +0.0);
write(null % 1);
write(null % 10);
write(null % 10.0);
write(null % 10.1);
write(null % -1);
write(null % -10);
write(null % -10.0);
write(null % -10.1);
write(null % Number.MAX_VALUE);
write(null % Number.MIN_VALUE);
write(null % Number.NaN);
write(null % Number.POSITIVE_INFINITY);
write(null % Number.NEGATIVE_INFINITY);
write(null % new Number(NaN));
write(null % new Number(+0));
write(null % new Number(-0));
write(null % new Number(0));
write(null % new Number(0.0));
write(null % new Number(-0.0));
write(null % new Number(+0.0));
write(null % new Number(1));
write(null % new Number(10));
write(null % new Number(10.0));
write(null % new Number(10.1));
write(null % new Number(-1));
write(null % new Number(-10));
write(null % new Number(-10.0));
write(null % new Number(-10.1));
write(null % new Number(Number.MAX_VALUE));
write(null % new Number(Number.MIN_VALUE));
write(null % new Number(Number.NaN));
write(null % new Number(Number.POSITIVE_INFINITY));
write(null % new Number(Number.NEGATIVE_INFINITY));
write(null % '');
write(null % 0xa);
write(null % 04);
write(null % 'hello');
write(null % 'hel' + 'lo');
write(null % String(''));
write(null % String('hello'));
write(null % String('h' + 'ello'));
write(null % new String(''));
write(null % new String('hello'));
write(null % new String('he' + 'llo'));
write(null % new Object());
write(null % new Object());
write(null % [1, 2, 3]);
write(null % [1 ,2 , 3]);
write(null % new Array(3));
write(null % Array(3));
write(null % new Array(1 ,2 ,3));
write(null % Array(1));
write(null % foo);
write(true % undefined);
write(true % null);
write(true % true);
write(true % false);
write(true % Boolean(true));
write(true % Boolean(false));
write(true % new Boolean(true));
write(true % new Boolean(false));
write(true % NaN);
write(true % +0);
write(true % -0);
write(true % 0);
write(true % 0.0);
write(true % -0.0);
write(true % +0.0);
write(true % 1);
write(true % 10);
write(true % 10.0);
write(true % 10.1);
write(true % -1);
write(true % -10);
write(true % -10.0);
write(true % -10.1);
write(true % Number.MAX_VALUE);
write(true % Number.MIN_VALUE);
write(true % Number.NaN);
write(true % Number.POSITIVE_INFINITY);
write(true % Number.NEGATIVE_INFINITY);
write(true % new Number(NaN));
write(true % new Number(+0));
write(true % new Number(-0));
write(true % new Number(0));
write(true % new Number(0.0));
write(true % new Number(-0.0));
write(true % new Number(+0.0));
write(true % new Number(1));
write(true % new Number(10));
write(true % new Number(10.0));
write(true % new Number(10.1));
write(true % new Number(-1));
write(true % new Number(-10));
write(true % new Number(-10.0));
write(true % new Number(-10.1));
write(true % new Number(Number.MAX_VALUE));
write(true % new Number(Number.MIN_VALUE));
write(true % new Number(Number.NaN));
write(true % new Number(Number.POSITIVE_INFINITY));
write(true % new Number(Number.NEGATIVE_INFINITY));
write(true % '');
write(true % 0xa);
write(true % 04);
write(true % 'hello');
write(true % 'hel' + 'lo');
write(true % String(''));
write(true % String('hello'));
write(true % String('h' + 'ello'));
write(true % new String(''));
write(true % new String('hello'));
write(true % new String('he' + 'llo'));
write(true % new Object());
write(true % new Object());
write(true % [1, 2, 3]);
write(true % [1 ,2 , 3]);
write(true % new Array(3));
write(true % Array(3));
write(true % new Array(1 ,2 ,3));
write(true % Array(1));
write(true % foo);
write(false % undefined);
write(false % null);
write(false % true);
write(false % false);
write(false % Boolean(true));
write(false % Boolean(false));
write(false % new Boolean(true));
write(false % new Boolean(false));
write(false % NaN);
write(false % +0);
write(false % -0);
write(false % 0);
write(false % 0.0);
write(false % -0.0);
write(false % +0.0);
write(false % 1);
write(false % 10);
write(false % 10.0);
write(false % 10.1);
write(false % -1);
write(false % -10);
write(false % -10.0);
write(false % -10.1);
write(false % Number.MAX_VALUE);
write(false % Number.MIN_VALUE);
write(false % Number.NaN);
write(false % Number.POSITIVE_INFINITY);
write(false % Number.NEGATIVE_INFINITY);
write(false % new Number(NaN));
write(false % new Number(+0));
write(false % new Number(-0));
write(false % new Number(0));
write(false % new Number(0.0));
write(false % new Number(-0.0));
write(false % new Number(+0.0));
write(false % new Number(1));
write(false % new Number(10));
write(false % new Number(10.0));
write(false % new Number(10.1));
write(false % new Number(-1));
write(false % new Number(-10));
write(false % new Number(-10.0));
write(false % new Number(-10.1));
write(false % new Number(Number.MAX_VALUE));
write(false % new Number(Number.MIN_VALUE));
write(false % new Number(Number.NaN));
write(false % new Number(Number.POSITIVE_INFINITY));
write(false % new Number(Number.NEGATIVE_INFINITY));
write(false % '');
write(false % 0xa);
write(false % 04);
write(false % 'hello');
write(false % 'hel' + 'lo');
write(false % String(''));
write(false % String('hello'));
write(false % String('h' + 'ello'));
write(false % new String(''));
write(false % new String('hello'));
write(false % new String('he' + 'llo'));
write(false % new Object());
write(false % new Object());
write(false % [1, 2, 3]);
write(false % [1 ,2 , 3]);
write(false % new Array(3));
write(false % Array(3));
write(false % new Array(1 ,2 ,3));
write(false % Array(1));
write(false % foo);
write(Boolean(true) % undefined);
write(Boolean(true) % null);
write(Boolean(true) % true);
write(Boolean(true) % false);
write(Boolean(true) % Boolean(true));
write(Boolean(true) % Boolean(false));
write(Boolean(true) % new Boolean(true));
write(Boolean(true) % new Boolean(false));
write(Boolean(true) % NaN);
write(Boolean(true) % +0);
write(Boolean(true) % -0);
write(Boolean(true) % 0);
write(Boolean(true) % 0.0);
write(Boolean(true) % -0.0);
write(Boolean(true) % +0.0);
write(Boolean(true) % 1);
write(Boolean(true) % 10);
write(Boolean(true) % 10.0);
write(Boolean(true) % 10.1);
write(Boolean(true) % -1);
write(Boolean(true) % -10);
write(Boolean(true) % -10.0);
write(Boolean(true) % -10.1);
write(Boolean(true) % Number.MAX_VALUE);
write(Boolean(true) % Number.MIN_VALUE);
write(Boolean(true) % Number.NaN);
write(Boolean(true) % Number.POSITIVE_INFINITY);
write(Boolean(true) % Number.NEGATIVE_INFINITY);
write(Boolean(true) % new Number(NaN));
write(Boolean(true) % new Number(+0));
write(Boolean(true) % new Number(-0));
write(Boolean(true) % new Number(0));
write(Boolean(true) % new Number(0.0));
write(Boolean(true) % new Number(-0.0));
write(Boolean(true) % new Number(+0.0));
write(Boolean(true) % new Number(1));
write(Boolean(true) % new Number(10));
write(Boolean(true) % new Number(10.0));
write(Boolean(true) % new Number(10.1));
write(Boolean(true) % new Number(-1));
write(Boolean(true) % new Number(-10));
write(Boolean(true) % new Number(-10.0));
write(Boolean(true) % new Number(-10.1));
write(Boolean(true) % new Number(Number.MAX_VALUE));
write(Boolean(true) % new Number(Number.MIN_VALUE));
write(Boolean(true) % new Number(Number.NaN));
write(Boolean(true) % new Number(Number.POSITIVE_INFINITY));
write(Boolean(true) % new Number(Number.NEGATIVE_INFINITY));
write(Boolean(true) % '');
write(Boolean(true) % 0xa);
write(Boolean(true) % 04);
write(Boolean(true) % 'hello');
write(Boolean(true) % 'hel' + 'lo');
write(Boolean(true) % String(''));
write(Boolean(true) % String('hello'));
write(Boolean(true) % String('h' + 'ello'));
write(Boolean(true) % new String(''));
write(Boolean(true) % new String('hello'));
write(Boolean(true) % new String('he' + 'llo'));
write(Boolean(true) % new Object());
write(Boolean(true) % new Object());
write(Boolean(true) % [1, 2, 3]);
write(Boolean(true) % [1 ,2 , 3]);
write(Boolean(true) % new Array(3));
write(Boolean(true) % Array(3));
write(Boolean(true) % new Array(1 ,2 ,3));
write(Boolean(true) % Array(1));
write(Boolean(true) % foo);
write(Boolean(false) % undefined);
write(Boolean(false) % null);
write(Boolean(false) % true);
write(Boolean(false) % false);
write(Boolean(false) % Boolean(true));
write(Boolean(false) % Boolean(false));
write(Boolean(false) % new Boolean(true));
write(Boolean(false) % new Boolean(false));
write(Boolean(false) % NaN);
write(Boolean(false) % +0);
write(Boolean(false) % -0);
write(Boolean(false) % 0);
write(Boolean(false) % 0.0);
write(Boolean(false) % -0.0);
write(Boolean(false) % +0.0);
write(Boolean(false) % 1);
write(Boolean(false) % 10);
write(Boolean(false) % 10.0);
write(Boolean(false) % 10.1);
write(Boolean(false) % -1);
write(Boolean(false) % -10);
write(Boolean(false) % -10.0);
write(Boolean(false) % -10.1);
write(Boolean(false) % Number.MAX_VALUE);
write(Boolean(false) % Number.MIN_VALUE);
write(Boolean(false) % Number.NaN);
write(Boolean(false) % Number.POSITIVE_INFINITY);
write(Boolean(false) % Number.NEGATIVE_INFINITY);
write(Boolean(false) % new Number(NaN));
write(Boolean(false) % new Number(+0));
write(Boolean(false) % new Number(-0));
write(Boolean(false) % new Number(0));
write(Boolean(false) % new Number(0.0));
write(Boolean(false) % new Number(-0.0));
write(Boolean(false) % new Number(+0.0));
write(Boolean(false) % new Number(1));
write(Boolean(false) % new Number(10));
write(Boolean(false) % new Number(10.0));
write(Boolean(false) % new Number(10.1));
write(Boolean(false) % new Number(-1));
write(Boolean(false) % new Number(-10));
write(Boolean(false) % new Number(-10.0));
write(Boolean(false) % new Number(-10.1));
write(Boolean(false) % new Number(Number.MAX_VALUE));
write(Boolean(false) % new Number(Number.MIN_VALUE));
write(Boolean(false) % new Number(Number.NaN));
write(Boolean(false) % new Number(Number.POSITIVE_INFINITY));
write(Boolean(false) % new Number(Number.NEGATIVE_INFINITY));
write(Boolean(false) % '');
write(Boolean(false) % 0xa);
write(Boolean(false) % 04);
write(Boolean(false) % 'hello');
write(Boolean(false) % 'hel' + 'lo');
write(Boolean(false) % String(''));
write(Boolean(false) % String('hello'));
write(Boolean(false) % String('h' + 'ello'));
write(Boolean(false) % new String(''));
write(Boolean(false) % new String('hello'));
write(Boolean(false) % new String('he' + 'llo'));
write(Boolean(false) % new Object());
write(Boolean(false) % new Object());
write(Boolean(false) % [1, 2, 3]);
write(Boolean(false) % [1 ,2 , 3]);
write(Boolean(false) % new Array(3));
write(Boolean(false) % Array(3));
write(Boolean(false) % new Array(1 ,2 ,3));
write(Boolean(false) % Array(1));
write(Boolean(false) % foo);
write(new Boolean(true) % undefined);
write(new Boolean(true) % null);
write(new Boolean(true) % true);
write(new Boolean(true) % false);
write(new Boolean(true) % Boolean(true));
write(new Boolean(true) % Boolean(false));
write(new Boolean(true) % new Boolean(true));
write(new Boolean(true) % new Boolean(false));
write(new Boolean(true) % NaN);
write(new Boolean(true) % +0);
write(new Boolean(true) % -0);
write(new Boolean(true) % 0);
write(new Boolean(true) % 0.0);
write(new Boolean(true) % -0.0);
write(new Boolean(true) % +0.0);
write(new Boolean(true) % 1);
write(new Boolean(true) % 10);
write(new Boolean(true) % 10.0);
write(new Boolean(true) % 10.1);
write(new Boolean(true) % -1);
write(new Boolean(true) % -10);
write(new Boolean(true) % -10.0);
write(new Boolean(true) % -10.1);
write(new Boolean(true) % Number.MAX_VALUE);
write(new Boolean(true) % Number.MIN_VALUE);
write(new Boolean(true) % Number.NaN);
write(new Boolean(true) % Number.POSITIVE_INFINITY);
write(new Boolean(true) % Number.NEGATIVE_INFINITY);
write(new Boolean(true) % new Number(NaN));
write(new Boolean(true) % new Number(+0));
write(new Boolean(true) % new Number(-0));
write(new Boolean(true) % new Number(0));
write(new Boolean(true) % new Number(0.0));
write(new Boolean(true) % new Number(-0.0));
write(new Boolean(true) % new Number(+0.0));
write(new Boolean(true) % new Number(1));
write(new Boolean(true) % new Number(10));
write(new Boolean(true) % new Number(10.0));
write(new Boolean(true) % new Number(10.1));
write(new Boolean(true) % new Number(-1));
write(new Boolean(true) % new Number(-10));
write(new Boolean(true) % new Number(-10.0));
write(new Boolean(true) % new Number(-10.1));
write(new Boolean(true) % new Number(Number.MAX_VALUE));
write(new Boolean(true) % new Number(Number.MIN_VALUE));
write(new Boolean(true) % new Number(Number.NaN));
write(new Boolean(true) % new Number(Number.POSITIVE_INFINITY));
write(new Boolean(true) % new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(true) % '');
write(new Boolean(true) % 0xa);
write(new Boolean(true) % 04);
write(new Boolean(true) % 'hello');
write(new Boolean(true) % 'hel' + 'lo');
write(new Boolean(true) % String(''));
write(new Boolean(true) % String('hello'));
write(new Boolean(true) % String('h' + 'ello'));
write(new Boolean(true) % new String(''));
write(new Boolean(true) % new String('hello'));
write(new Boolean(true) % new String('he' + 'llo'));
write(new Boolean(true) % new Object());
write(new Boolean(true) % new Object());
write(new Boolean(true) % [1, 2, 3]);
write(new Boolean(true) % [1 ,2 , 3]);
write(new Boolean(true) % new Array(3));
write(new Boolean(true) % Array(3));
write(new Boolean(true) % new Array(1 ,2 ,3));
write(new Boolean(true) % Array(1));
write(new Boolean(true) % foo);
write(new Boolean(false) % undefined);
write(new Boolean(false) % null);
write(new Boolean(false) % true);
write(new Boolean(false) % false);
write(new Boolean(false) % Boolean(true));
write(new Boolean(false) % Boolean(false));
write(new Boolean(false) % new Boolean(true));
write(new Boolean(false) % new Boolean(false));
write(new Boolean(false) % NaN);
write(new Boolean(false) % +0);
write(new Boolean(false) % -0);
write(new Boolean(false) % 0);
write(new Boolean(false) % 0.0);
write(new Boolean(false) % -0.0);
write(new Boolean(false) % +0.0);
write(new Boolean(false) % 1);
write(new Boolean(false) % 10);
write(new Boolean(false) % 10.0);
write(new Boolean(false) % 10.1);
write(new Boolean(false) % -1);
write(new Boolean(false) % -10);
write(new Boolean(false) % -10.0);
write(new Boolean(false) % -10.1);
write(new Boolean(false) % Number.MAX_VALUE);
write(new Boolean(false) % Number.MIN_VALUE);
write(new Boolean(false) % Number.NaN);
write(new Boolean(false) % Number.POSITIVE_INFINITY);
write(new Boolean(false) % Number.NEGATIVE_INFINITY);
write(new Boolean(false) % new Number(NaN));
write(new Boolean(false) % new Number(+0));
write(new Boolean(false) % new Number(-0));
write(new Boolean(false) % new Number(0));
write(new Boolean(false) % new Number(0.0));
write(new Boolean(false) % new Number(-0.0));
write(new Boolean(false) % new Number(+0.0));
write(new Boolean(false) % new Number(1));
write(new Boolean(false) % new Number(10));
write(new Boolean(false) % new Number(10.0));
write(new Boolean(false) % new Number(10.1));
write(new Boolean(false) % new Number(-1));
write(new Boolean(false) % new Number(-10));
write(new Boolean(false) % new Number(-10.0));
write(new Boolean(false) % new Number(-10.1));
write(new Boolean(false) % new Number(Number.MAX_VALUE));
write(new Boolean(false) % new Number(Number.MIN_VALUE));
write(new Boolean(false) % new Number(Number.NaN));
write(new Boolean(false) % new Number(Number.POSITIVE_INFINITY));
write(new Boolean(false) % new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(false) % '');
write(new Boolean(false) % 0xa);
write(new Boolean(false) % 04);
write(new Boolean(false) % 'hello');
write(new Boolean(false) % 'hel' + 'lo');
write(new Boolean(false) % String(''));
write(new Boolean(false) % String('hello'));
write(new Boolean(false) % String('h' + 'ello'));
write(new Boolean(false) % new String(''));
write(new Boolean(false) % new String('hello'));
write(new Boolean(false) % new String('he' + 'llo'));
write(new Boolean(false) % new Object());
write(new Boolean(false) % new Object());
write(new Boolean(false) % [1, 2, 3]);
write(new Boolean(false) % [1 ,2 , 3]);
write(new Boolean(false) % new Array(3));
write(new Boolean(false) % Array(3));
write(new Boolean(false) % new Array(1 ,2 ,3));
write(new Boolean(false) % Array(1));
write(new Boolean(false) % foo);
write(NaN % undefined);
write(NaN % null);
write(NaN % true);
write(NaN % false);
write(NaN % Boolean(true));
write(NaN % Boolean(false));
write(NaN % new Boolean(true));
write(NaN % new Boolean(false));
write(NaN % NaN);
write(NaN % +0);
write(NaN % -0);
write(NaN % 0);
write(NaN % 0.0);
write(NaN % -0.0);
write(NaN % +0.0);
write(NaN % 1);
write(NaN % 10);
write(NaN % 10.0);
write(NaN % 10.1);
write(NaN % -1);
write(NaN % -10);
write(NaN % -10.0);
write(NaN % -10.1);
write(NaN % Number.MAX_VALUE);
write(NaN % Number.MIN_VALUE);
write(NaN % Number.NaN);
write(NaN % Number.POSITIVE_INFINITY);
write(NaN % Number.NEGATIVE_INFINITY);
write(NaN % new Number(NaN));
write(NaN % new Number(+0));
write(NaN % new Number(-0));
write(NaN % new Number(0));
write(NaN % new Number(0.0));
write(NaN % new Number(-0.0));
write(NaN % new Number(+0.0));
write(NaN % new Number(1));
write(NaN % new Number(10));
write(NaN % new Number(10.0));
write(NaN % new Number(10.1));
write(NaN % new Number(-1));
write(NaN % new Number(-10));
write(NaN % new Number(-10.0));
write(NaN % new Number(-10.1));
write(NaN % new Number(Number.MAX_VALUE));
write(NaN % new Number(Number.MIN_VALUE));
write(NaN % new Number(Number.NaN));
write(NaN % new Number(Number.POSITIVE_INFINITY));
write(NaN % new Number(Number.NEGATIVE_INFINITY));
write(NaN % '');
write(NaN % 0xa);
write(NaN % 04);
write(NaN % 'hello');
write(NaN % 'hel' + 'lo');
write(NaN % String(''));
write(NaN % String('hello'));
write(NaN % String('h' + 'ello'));
write(NaN % new String(''));
write(NaN % new String('hello'));
write(NaN % new String('he' + 'llo'));
write(NaN % new Object());
write(NaN % new Object());
write(NaN % [1, 2, 3]);
write(NaN % [1 ,2 , 3]);
write(NaN % new Array(3));
write(NaN % Array(3));
write(NaN % new Array(1 ,2 ,3));
write(NaN % Array(1));
write(NaN % foo);
write(+0 % undefined);
write(+0 % null);
write(+0 % true);
write(+0 % false);
write(+0 % Boolean(true));
write(+0 % Boolean(false));
write(+0 % new Boolean(true));
write(+0 % new Boolean(false));
write(+0 % NaN);
write(+0 % +0);
write(+0 % -0);
write(+0 % 0);
write(+0 % 0.0);
write(+0 % -0.0);
write(+0 % +0.0);
write(+0 % 1);
write(+0 % 10);
write(+0 % 10.0);
write(+0 % 10.1);
write(+0 % -1);
write(+0 % -10);
write(+0 % -10.0);
write(+0 % -10.1);
write(+0 % Number.MAX_VALUE);
write(+0 % Number.MIN_VALUE);
write(+0 % Number.NaN);
write(+0 % Number.POSITIVE_INFINITY);
write(+0 % Number.NEGATIVE_INFINITY);
write(+0 % new Number(NaN));
write(+0 % new Number(+0));
write(+0 % new Number(-0));
write(+0 % new Number(0));
write(+0 % new Number(0.0));
write(+0 % new Number(-0.0));
write(+0 % new Number(+0.0));
write(+0 % new Number(1));
write(+0 % new Number(10));
write(+0 % new Number(10.0));
write(+0 % new Number(10.1));
write(+0 % new Number(-1));
write(+0 % new Number(-10));
write(+0 % new Number(-10.0));
write(+0 % new Number(-10.1));
write(+0 % new Number(Number.MAX_VALUE));
write(+0 % new Number(Number.MIN_VALUE));
write(+0 % new Number(Number.NaN));
write(+0 % new Number(Number.POSITIVE_INFINITY));
write(+0 % new Number(Number.NEGATIVE_INFINITY));
write(+0 % '');
write(+0 % 0xa);
write(+0 % 04);
write(+0 % 'hello');
write(+0 % 'hel' + 'lo');
write(+0 % String(''));
write(+0 % String('hello'));
write(+0 % String('h' + 'ello'));
write(+0 % new String(''));
write(+0 % new String('hello'));
write(+0 % new String('he' + 'llo'));
write(+0 % new Object());
write(+0 % new Object());
write(+0 % [1, 2, 3]);
write(+0 % [1 ,2 , 3]);
write(+0 % new Array(3));
write(+0 % Array(3));
write(+0 % new Array(1 ,2 ,3));
write(+0 % Array(1));
write(+0 % foo);
write(-0 % undefined);
write(-0 % null);
write(-0 % true);
write(-0 % false);
write(-0 % Boolean(true));
write(-0 % Boolean(false));
write(-0 % new Boolean(true));
write(-0 % new Boolean(false));
write(-0 % NaN);
write(-0 % +0);
write(-0 % -0);
write(-0 % 0);
write(-0 % 0.0);
write(-0 % -0.0);
write(-0 % +0.0);
write(-0 % 1);
write(-0 % 10);
write(-0 % 10.0);
write(-0 % 10.1);
write(-0 % -1);
write(-0 % -10);
write(-0 % -10.0);
write(-0 % -10.1);
write(-0 % Number.MAX_VALUE);
write(-0 % Number.MIN_VALUE);
write(-0 % Number.NaN);
write(-0 % Number.POSITIVE_INFINITY);
write(-0 % Number.NEGATIVE_INFINITY);
write(-0 % new Number(NaN));
write(-0 % new Number(+0));
write(-0 % new Number(-0));
write(-0 % new Number(0));
write(-0 % new Number(0.0));
write(-0 % new Number(-0.0));
write(-0 % new Number(+0.0));
write(-0 % new Number(1));
write(-0 % new Number(10));
write(-0 % new Number(10.0));
write(-0 % new Number(10.1));
write(-0 % new Number(-1));
write(-0 % new Number(-10));
write(-0 % new Number(-10.0));
write(-0 % new Number(-10.1));
write(-0 % new Number(Number.MAX_VALUE));
write(-0 % new Number(Number.MIN_VALUE));
write(-0 % new Number(Number.NaN));
write(-0 % new Number(Number.POSITIVE_INFINITY));
write(-0 % new Number(Number.NEGATIVE_INFINITY));
write(-0 % '');
write(-0 % 0xa);
write(-0 % 04);
write(-0 % 'hello');
write(-0 % 'hel' + 'lo');
write(-0 % String(''));
write(-0 % String('hello'));
write(-0 % String('h' + 'ello'));
write(-0 % new String(''));
write(-0 % new String('hello'));
write(-0 % new String('he' + 'llo'));
write(-0 % new Object());
write(-0 % new Object());
write(-0 % [1, 2, 3]);
write(-0 % [1 ,2 , 3]);
write(-0 % new Array(3));
write(-0 % Array(3));
write(-0 % new Array(1 ,2 ,3));
write(-0 % Array(1));
write(-0 % foo);
write(0 % undefined);
write(0 % null);
write(0 % true);
write(0 % false);
write(0 % Boolean(true));
write(0 % Boolean(false));
write(0 % new Boolean(true));
write(0 % new Boolean(false));
write(0 % NaN);
write(0 % +0);
write(0 % -0);
write(0 % 0);
write(0 % 0.0);
write(0 % -0.0);
write(0 % +0.0);
write(0 % 1);
write(0 % 10);
write(0 % 10.0);
write(0 % 10.1);
write(0 % -1);
write(0 % -10);
write(0 % -10.0);
write(0 % -10.1);
write(0 % Number.MAX_VALUE);
write(0 % Number.MIN_VALUE);
write(0 % Number.NaN);
write(0 % Number.POSITIVE_INFINITY);
write(0 % Number.NEGATIVE_INFINITY);
write(0 % new Number(NaN));
write(0 % new Number(+0));
write(0 % new Number(-0));
write(0 % new Number(0));
write(0 % new Number(0.0));
write(0 % new Number(-0.0));
write(0 % new Number(+0.0));
write(0 % new Number(1));
write(0 % new Number(10));
write(0 % new Number(10.0));
write(0 % new Number(10.1));
write(0 % new Number(-1));
write(0 % new Number(-10));
write(0 % new Number(-10.0));
write(0 % new Number(-10.1));
write(0 % new Number(Number.MAX_VALUE));
write(0 % new Number(Number.MIN_VALUE));
write(0 % new Number(Number.NaN));
write(0 % new Number(Number.POSITIVE_INFINITY));
write(0 % new Number(Number.NEGATIVE_INFINITY));
write(0 % '');
write(0 % 0xa);
write(0 % 04);
write(0 % 'hello');
write(0 % 'hel' + 'lo');
write(0 % String(''));
write(0 % String('hello'));
write(0 % String('h' + 'ello'));
write(0 % new String(''));
write(0 % new String('hello'));
write(0 % new String('he' + 'llo'));
write(0 % new Object());
write(0 % new Object());
write(0 % [1, 2, 3]);
write(0 % [1 ,2 , 3]);
write(0 % new Array(3));
write(0 % Array(3));
write(0 % new Array(1 ,2 ,3));
write(0 % Array(1));
write(0 % foo);
write(0.0 % undefined);
write(0.0 % null);
write(0.0 % true);
write(0.0 % false);
write(0.0 % Boolean(true));
write(0.0 % Boolean(false));
write(0.0 % new Boolean(true));
write(0.0 % new Boolean(false));
write(0.0 % NaN);
write(0.0 % +0);
write(0.0 % -0);
write(0.0 % 0);
write(0.0 % 0.0);
write(0.0 % -0.0);
write(0.0 % +0.0);
write(0.0 % 1);
write(0.0 % 10);
write(0.0 % 10.0);
write(0.0 % 10.1);
write(0.0 % -1);
write(0.0 % -10);
write(0.0 % -10.0);
write(0.0 % -10.1);
write(0.0 % Number.MAX_VALUE);
write(0.0 % Number.MIN_VALUE);
write(0.0 % Number.NaN);
write(0.0 % Number.POSITIVE_INFINITY);
write(0.0 % Number.NEGATIVE_INFINITY);
write(0.0 % new Number(NaN));
write(0.0 % new Number(+0));
write(0.0 % new Number(-0));
write(0.0 % new Number(0));
write(0.0 % new Number(0.0));
write(0.0 % new Number(-0.0));
write(0.0 % new Number(+0.0));
write(0.0 % new Number(1));
write(0.0 % new Number(10));
write(0.0 % new Number(10.0));
write(0.0 % new Number(10.1));
write(0.0 % new Number(-1));
write(0.0 % new Number(-10));
write(0.0 % new Number(-10.0));
write(0.0 % new Number(-10.1));
write(0.0 % new Number(Number.MAX_VALUE));
write(0.0 % new Number(Number.MIN_VALUE));
write(0.0 % new Number(Number.NaN));
write(0.0 % new Number(Number.POSITIVE_INFINITY));
write(0.0 % new Number(Number.NEGATIVE_INFINITY));
write(0.0 % '');
write(0.0 % 0xa);
write(0.0 % 04);
write(0.0 % 'hello');
write(0.0 % 'hel' + 'lo');
write(0.0 % String(''));
write(0.0 % String('hello'));
write(0.0 % String('h' + 'ello'));
write(0.0 % new String(''));
write(0.0 % new String('hello'));
write(0.0 % new String('he' + 'llo'));
write(0.0 % new Object());
write(0.0 % new Object());
write(0.0 % [1, 2, 3]);
write(0.0 % [1 ,2 , 3]);
write(0.0 % new Array(3));
write(0.0 % Array(3));
write(0.0 % new Array(1 ,2 ,3));
write(0.0 % Array(1));
write(0.0 % foo);
write(-0.0 % undefined);
write(-0.0 % null);
write(-0.0 % true);
write(-0.0 % false);
write(-0.0 % Boolean(true));
write(-0.0 % Boolean(false));
write(-0.0 % new Boolean(true));
write(-0.0 % new Boolean(false));
write(-0.0 % NaN);
write(-0.0 % +0);
write(-0.0 % -0);
write(-0.0 % 0);
write(-0.0 % 0.0);
write(-0.0 % -0.0);
write(-0.0 % +0.0);
write(-0.0 % 1);
write(-0.0 % 10);
write(-0.0 % 10.0);
write(-0.0 % 10.1);
write(-0.0 % -1);
write(-0.0 % -10);
write(-0.0 % -10.0);
write(-0.0 % -10.1);
write(-0.0 % Number.MAX_VALUE);
write(-0.0 % Number.MIN_VALUE);
write(-0.0 % Number.NaN);
write(-0.0 % Number.POSITIVE_INFINITY);
write(-0.0 % Number.NEGATIVE_INFINITY);
write(-0.0 % new Number(NaN));
write(-0.0 % new Number(+0));
write(-0.0 % new Number(-0));
write(-0.0 % new Number(0));
write(-0.0 % new Number(0.0));
write(-0.0 % new Number(-0.0));
write(-0.0 % new Number(+0.0));
write(-0.0 % new Number(1));
write(-0.0 % new Number(10));
write(-0.0 % new Number(10.0));
write(-0.0 % new Number(10.1));
write(-0.0 % new Number(-1));
write(-0.0 % new Number(-10));
write(-0.0 % new Number(-10.0));
write(-0.0 % new Number(-10.1));
write(-0.0 % new Number(Number.MAX_VALUE));
write(-0.0 % new Number(Number.MIN_VALUE));
write(-0.0 % new Number(Number.NaN));
write(-0.0 % new Number(Number.POSITIVE_INFINITY));
write(-0.0 % new Number(Number.NEGATIVE_INFINITY));
write(-0.0 % '');
write(-0.0 % 0xa);
write(-0.0 % 04);
write(-0.0 % 'hello');
write(-0.0 % 'hel' + 'lo');
write(-0.0 % String(''));
write(-0.0 % String('hello'));
write(-0.0 % String('h' + 'ello'));
write(-0.0 % new String(''));
write(-0.0 % new String('hello'));
write(-0.0 % new String('he' + 'llo'));
write(-0.0 % new Object());
write(-0.0 % new Object());
write(-0.0 % [1, 2, 3]);
write(-0.0 % [1 ,2 , 3]);
write(-0.0 % new Array(3));
write(-0.0 % Array(3));
write(-0.0 % new Array(1 ,2 ,3));
write(-0.0 % Array(1));
write(-0.0 % foo);
write(+0.0 % undefined);
write(+0.0 % null);
write(+0.0 % true);
write(+0.0 % false);
write(+0.0 % Boolean(true));
write(+0.0 % Boolean(false));
write(+0.0 % new Boolean(true));
write(+0.0 % new Boolean(false));
write(+0.0 % NaN);
write(+0.0 % +0);
write(+0.0 % -0);
write(+0.0 % 0);
write(+0.0 % 0.0);
write(+0.0 % -0.0);
write(+0.0 % +0.0);
write(+0.0 % 1);
write(+0.0 % 10);
write(+0.0 % 10.0);
write(+0.0 % 10.1);
write(+0.0 % -1);
write(+0.0 % -10);
write(+0.0 % -10.0);
write(+0.0 % -10.1);
write(+0.0 % Number.MAX_VALUE);
write(+0.0 % Number.MIN_VALUE);
write(+0.0 % Number.NaN);
write(+0.0 % Number.POSITIVE_INFINITY);
write(+0.0 % Number.NEGATIVE_INFINITY);
write(+0.0 % new Number(NaN));
write(+0.0 % new Number(+0));
write(+0.0 % new Number(-0));
write(+0.0 % new Number(0));
write(+0.0 % new Number(0.0));
write(+0.0 % new Number(-0.0));
write(+0.0 % new Number(+0.0));
write(+0.0 % new Number(1));
write(+0.0 % new Number(10));
write(+0.0 % new Number(10.0));
write(+0.0 % new Number(10.1));
write(+0.0 % new Number(-1));
write(+0.0 % new Number(-10));
write(+0.0 % new Number(-10.0));
write(+0.0 % new Number(-10.1));
write(+0.0 % new Number(Number.MAX_VALUE));
write(+0.0 % new Number(Number.MIN_VALUE));
write(+0.0 % new Number(Number.NaN));
write(+0.0 % new Number(Number.POSITIVE_INFINITY));
write(+0.0 % new Number(Number.NEGATIVE_INFINITY));
